xend, acm: Assign an unlabeled resource the __UNLABELED__ label
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 3 Apr 2008 10:33:10 +0000 (11:33 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 3 Apr 2008 10:33:10 +0000 (11:33 +0100)
Assign an unlabeled resource the __UNLABELED__ label rather than
failing the lookup in the dictionary and catching the exception.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
tools/python/xen/util/xsm/acm/acm.py

index ed93e28485318c33d1938e8bb6bdeb890d453d15..8a5c270ad0fa486d5c5194ad62fd18d2a27d89b7 100644 (file)
@@ -1146,11 +1146,13 @@ def __resources_compatible_with_vmlabel(xspol, dominfo, vmlabel,
     for key, value in resources.items():
         if key in [ 'vbd', 'tap' ]:
             for res in resources[key]:
-                try:
+                if not res in access_control:
+                    label = [xsconstants.ACM_POLICY_ID,
+                             xspol.get_name(),
+                             ACM_LABEL_UNLABELED]
+                else:
                     label = access_control[res]
-                    if not collect_labels(reslabels, label, polname):
-                        return False
-                except:
+                if not collect_labels(reslabels, label, polname):
                     return False
         elif key in [ 'vif' ]:
             for xapi_label in value: